﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Sistema_Totem.Presentacion.Contrato.Plantillas;
using Sistema_Totem.Logica.Comandos.ComandoPlantilla;
using Sistema_Totem.Logica.Comandos;
using Sistema_Totem.Logica.Fabricas;
using Sistema_Totem.Clases;

namespace Sistema_Totem.Presentacion.Presentador.Plantillas
{
    public class PresentadorAgregarPlantillaPasoUno
    {
        private IContratoAgregarPlantillaPasoUno _vista;
        private Comando<Entidad> _comando;
        private String[] Tipos = { "Plantilla ERS", "Plantilla Propuesta", "Plantilla Requerimiento", "Plantilla Minuta", "Plantilla CasoDeUso" };
        private String[] Estado = { "Activo", "Inactivo" };

        public PresentadorAgregarPlantillaPasoUno (IContratoAgregarPlantillaPasoUno vista)
        {
            _vista = vista;
        }

        /// <summary>
        /// Se inicializan los dropdownlist de la interfaz 
        /// </summary>
        public void IniciarVista() 
        {
            _vista.NombrePlantilla = "";
            _vista.Descripcion = "";
            for (int i = 0; i < Tipos.Length; i++)
            {
                _vista.Tipo = Tipos[i];
            }
            for (int j = 0; j < Estado.Length; j++)
            {
                _vista.Estado = Estado[j];
            }
        }

        /// <summary>
        /// Este metodo llama a un comando y se le pasa el nombre de la plantilla, la descripcion, el tipo y el estatus
        /// </summary>
        /// <returns>Retorna un objeto entidad cargado con los datos que se pasaron</returns>
        public Entidad _Ejecutar() 
        { 
            _comando = FabricaComando.CrearComandoAgregarPlantillaPasoUno(_vista.NombrePlantilla,_vista.Descripcion,_vista.Tipo,_vista.Estado);
            return _comando.Ejecutar();
        }
    }
}